using System;
using System.CodeDom.Compiler;
using System.Collections.Generic;
using System.ComponentModel;
using System.Diagnostics;
using System.Xml.Serialization;


namespace YF.OneNote.DataTypes
{
  /// <remarks/>
  [XmlInclude(typeof(Outline))]
  [XmlInclude(typeof(PageObjectTagable))]
  [XmlInclude(typeof(Image))]
  [XmlInclude(typeof(InsertedFile))]
  [XmlInclude(typeof(MediaFile))]
  [XmlInclude(typeof(InkDrawing))]
  [GeneratedCode("xsd", "2.0.50727.1432")]
  [Serializable]
  
  [DesignerCategory("code")]
  [XmlType(Namespace = "http://schemas.microsoft.com/office/onenote/2007/onenote")]
  public partial class PageObject: NotesNode
  {
    #region Fields



    private Meta[] metaField;

    private string objectIDField;
    private Position positionField;

    private string selectedField;
    private Size sizeField;



    #endregion

    #region Properties/Indexers



    [XmlAttribute]
    public override string ID
    {
      get
      {
        return objectIDField;
      }
      set
      {
        objectIDField = value;
      }
    }


    /// <remarks/>
    [XmlElement("Meta", Order = 2)]
    public Meta[] Meta
    {
      get
      {
        return metaField;
      }
      set
      {
        metaField = value;
      }
    }

    /// <remarks/>
    [XmlAttribute]
    public string objectID
    {
      get
      {
        return objectIDField;
      }
      set
      {
        objectIDField = value;
      }
    }

    /// <remarks/>
    [XmlElement(Order = 0)]
    public Position Position
    {
      get
      {
        return positionField;
      }
      set
      {
        positionField = value;
      }
    }

    /// <remarks/>
    [XmlAttribute]
    [DefaultValue("none")]
    public string selected
    {
      get
      {
        return selectedField;
      }
      set
      {
        selectedField = value;
      }
    }

    /// <remarks/>
    [XmlElement(Order = 1)]
    public Size Size
    {
      get
      {
        return sizeField;
      }
      set
      {
        sizeField = value;
      }
    }



    #endregion

#if GENERATOR
    protected override bool UpdateContents(NotesNode updatedNode, List<INotesChange> changes)
    {
      throw new NotImplementedException();
    }
#endif
  }
}